Η εξίσωση.
Clear["Global`*"]
eq = x^2 - 6 x + 7 == 0ΔΙάφοροι τρόποι λύσης.
Solve[eq, x]
NSolve[eq, x]
FindRoot[eq, {x, 2}]
Reduce[eq, x]Σε υπερβατικές εξισώσεις αποδίδει μόνο η NSolve και η FindRoot.
eqTr = 4 Cos[x] == xΜε Solve.
Solve[eqTr, x]Καμία απάντηση.
Πάμε με NSolve.
NSolve[eqTr, x]Πάμε με FindRoot.
FindRoot[eqTr, {x, 1}]Πάμε τέλος και με Reduce.
Reduce[eqTr, x]Reduce[x^2 - 9 > 0, x]x<-3||x>3Αρχίζουμε με απλή κατασκευή-επίλυση συστημάτων με Solve.
Clear["Global`*"]
eq1 = 3 x + 5 y == 1
eq2 = x^2 - y == 2
Solve[{eq1, eq2}, {x, y}]Ακολούθως θα δούμε και άλλη προσέγγιση παραγωγής-λύσης συστημάτων.
Έχουμε τις εξισώσεις:
Clear["Global`*"]
n = 4;
eqns = Table[Sum[(i^j - j^i) x[i], {i, 1, n}] == 3*j, {j, 1, n}];
TableForm[eqns]Με μεταβλητές:
vars = Table[x[j], {j, 1, n}]Λύνουμε το σύστημα αρχικά με Solve, για να έχουμε μέτρο σύγκρισης.
Solve[eqns, vars]Ακολούθως θα δοκιμάσουμε και με το LinearSolve. Εξάγουμε αρχικά τους συντελεστές:
system = Normal[CoefficientArrays[eqns]]{{-3,-6,-9,-12},{{0,1,2,3},{-1,0,1,0},{-2,-1,0,-17},{-3,0,17,0}}}Επειδή, όπως παρατηρούμε, οι σταθεροί όροι είναι οι αντίθετοι από τους προβλεπόμενους, το διάνυσμα των σταθερών όρων θα είναι το αντίθετο από αυτό που εξήχθη.
b = -system[[1]];
A = system[[2]];
b // MatrixForm
A // MatrixForm
MatrixPlot[A]Κι έχουμε τη λύση μας.
f = LinearSolve[A]Βρίσκουμε τη λύση
f[b]Clear["Global`*"]
eq1 = 3 x + 5 y == 1
eq2 = x^2 - y == 2
NSolve[{eq1, eq2}, {x, y}]Clear["Global`*"]
f1[x_, y_] := x^2 + 4*x*y + y^2;
f2[x_, y_] := 5*x^2 - 4*x*y + 2*y^2;
ContourPlot[{f1[x, y] == 4, f2[x, y] == 8}, {x, -4, 4}, {y, -4, 4}]
sol1 = FindRoot[{f1[x, y] == 4, f2[x, y] == 8}, {{x, 0}, {y, 2.2}}];
sol2 = FindRoot[{f1[x, y] == 4,
f2[x, y] == 8}, {{x, 1.6}, {y, 0.4}}];
sol3 = FindRoot[{f1[x, y] == 4, f2[x, y] == 8}, {{x, 0}, {y, -2.1}}];
sol4 = FindRoot[{f1[x, y] == 4,
f2[x, y] == 8}, {{x, -.21}, {y, -0.2}}];
solList = {sol1, sol2, sol3, sol4};For[i = 1, i <= 4, i++,
Print[{x, y} /. solList[[i]]] ]